Method for providing subscription-on-demand services

ABSTRACT

A method for providing subscription-on-demand services for video-on-demand programs within an interactive information distribution system. The method includes associating a plurality of video-on-demand programming packages as a programming bundle and identifying a number of video-on-demand programming packages within the programming bundle that a subscriber has subscribed. When the number of video-on-demand programming packages exceeds a pre-specified number of programming packages, the subscriber is automatically subscribed to all the video-on-demand programming packages in the programming bundle.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of pending U.S. patentapplication Ser. No. 09/322,605, filed May 28, 1999, incorporated hereinby reference, which application claims benefit to U.S. Provisionalpatent application Ser. No. 60/127,747, filed Apr. 5, 1999, incorporatedherein by reference, and is a continuation in part of copending U.S.patent application Ser. No. 09/086,799, filed May 29, 1998, incorporatedherein by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to an interactive informationdistribution system such as a video-on-demand (VOD) system. Moreparticularly, the present invention relates to a method and apparatusfor providing subscription-on-demand (SOD) services dependentsubscription services and contingent services for such an interactiveinformation distribution system.

[0004] 2. Description of the Background Art

[0005] Recent advances in digital signal processing techniques and, inparticular, improvements in digital compression techniques, have led toa plethora of proposals for providing new digital services to acustomer's home via existing telephone and coaxial cable networks. Forexample, it has been proposed to provide hundreds of cable televisionchannels to subscribers by compressing digital data and digital video,transmitting the compressed digital signals over conventional coaxialcable television channels, and then decompressing the signals in thesubscriber's receiver. Another proposed application for this technologyis a video-on-demand (VOD) system in which a subscriber communicatesdirectly with a video service provider via telephone lines to request avideo program from a video library and the requested video program isrouted to the subscriber's home via telephone lines or via coaxial cabletelevision cables for immediate viewing. Other proposed VOD systems usea frequency multiplexing technique to enable control information for asubscriber's receiver to be transmitted through a cable network back toan information server. Such a system permits a bi-directionalcommunications over a single network.

[0006] In most of these information distribution systems, graphicalmenus are displayed upon the subscribers television and using a remotecontrol device, a subscriber selects a desired program for viewing. Onesuch graphical user interface based VOD system is disclosed in U.S. Pat.No. 5,619,249, issued Apr. 8, 1997, and hereby incorporated herein byreference, wherein a viewing station including a television monitor anda high-power graphics computer are used to generate a graphical userinterface. The viewing stations are in communication with a telecastingfacility (i.e., service provider head end equipment) that transmitsselected video information as requested by the viewing station. Thegraphics computer within the viewing station locally stores all theexecutable programs that generate the graphical interface, control thegraphical interface, and interact with the subscriber. The graphicscomputer not only enables a subscriber to select programming to view,but also enables a non-subscriber to become a subscriber by interactingwith certain interface screens.

[0007] Although having such a high-power computer within the viewingstation is beneficial in providing nearly instantaneous responsivenessto the subscriber's and non-subscriber's inputs, such a high-powercomputer system is economically unfeasible to utilize as subscriberequipment for a large number of subscriber homes. As such, set topterminals or television receivers containing built-in high-powercomputers are generally not feasible as a commercial product.Additionally, prior art VOD systems have only contemplated sellingservices on a program-by-program basis. For example, in the prior artsystems, a viewer navigates through various menus to arrive at a menucontaining a program title that the subscriber desires to view. Thesubscriber then requests the program and the program is supplied to thesubscriber's display. The subscriber's account is then billed for theorder of that particular program. As such, the concept of subscriptionsextends only to the general access to content and an a la carte purchaseof a unit of content. In this respect, the consumer's experience isnothing more than the transformation of the video store experience tothe customer's home; the consumer is purchasing the ability to access aprogram for a prescribed period of time. Such systems use the term“subscriber” to represent someone who has received an installation ofthe subscriber equipment to enable a technically different class ofservice to be accessed, namely, digital or analog/digital servicesinstead of the purely analog telecasts of conventional cable television.Consequently, the “subscription” as used in the prior art refers to thecapability of selecting from a list a single unit of content such as amovie or video. Heretofore, VOD systems have not had a capability ofpackaging programming at a single price such that a system subscribercan also be a program package subscriber to enable the packagesubscriber to view any program in the subscribed package without furthercost. Current systems do not have the capability of causing particularpackage access to be dependent upon subscriptions to other packages orcontingent upon a particular type or level of service.

[0008] Therefore, there is a need in the art for a method and apparatusfor providing subscription-on-demand services, dependent subscriptionservices and contingent services for an interactive informationdistribution system. There is also a need to provide these servicesusing equipment having a significant portion of the computing powercontained within a service provider head end system such that a terminalfor the subscriber's home can be manufactured relatively inexpensively.

SUMMARY OF THE INVENTION

[0009] A method for providing subscription-on-demand services forvideo-on-demand programs within an interactive information distributionsystem. The method includes associating a plurality of video-on-demandprogramming packages as a programming bundle and identifying a number ofvideo-on-demand programming packages within the programming bundle thata subscriber has subscribed.

[0010] The interactive information distribution system tracks the numberof video-on-demand programming packages within the programming bundlethat the subscriber has subscribed, and maintains a record of allservices thereof. When the number of video-on-demand programmingpackages exceeds a pre-specified number of programming packages, thesubscriber is automatically subscribed to all the video-on-demandprogramming packages in the programming bundle.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The teachings of the present invention can be readily understoodby considering the following detailed description in conjunction withthe accompanying drawings, in which:

[0012]FIG. 1 depicts a high level block diagram of an interactiveinformation distribution system containing the present invention;

[0013]FIG. 2 depicts a block diagram of an illustrative subscriber'sterminal within the system of FIG. 1;

[0014]FIGS. 3A, 3B, 3C and 3D together depict a flow diagram of aroutine representing the software that is executed within the system ofFIG. 1 to provide the subscription-on-demand services of the presentinvention;

[0015]FIG. 4 depicts an illustrative menu structure for selecting asubscription-on-demand service;

[0016]FIG. 5 depicts a menu structure used to select a subscription itemthat is a subset of the subscription-on-demand service;

[0017]FIG. 6 is a menu depicting titles of programming within a specificcategory within said subscription on demand service;

[0018]FIG. 7 is a title information screen;

[0019]FIG. 8 is a menu that allows a consumer to subscribe to a selectedsubscription-on-demand service;

[0020]FIG. 9 is a menu that provides an input structure for a master PINnumber.

[0021] To facilitate understanding, identical reference numerals havebeen used, where possible, to designate identical elements that arecommon to the figures.

DETAILED DESCRIPTION

[0022] The invention is a method and apparatus that provides asubscription-on-demand (SOD) service for an interactive informationdistribution system. Throughout the following description the term “SODservice” is defined as the capability of a consumer to subscribe topackages of programming at a pre-defined price and those programs withina subscribed package can be viewed, on-demand, without further cost tothe subscriber. As such, a consumer (i.e., a viewer having a systemaccount number) can request, through manipulation of a graphical userinterface, to subscribe to a package of programming, i.e., children'sprogramming, at a fixed price. Thereafter, any program within thepackage can be viewed at anytime, i.e., on-demand, without furthercharge. Optional viewing time restrictions and the like can beimplemented to limit package content viewing only during predefined timeperiods or, if viewing outside the time period is desired, an additionalfee is charged to the subscriber's account. Additionally, dependentsubscription services are subscriptions that are accessible (dependent)upon a subscriber having previously subscribed to other SOD services orcable services and contingent services are services that are onlyavailable to subscribers that have only subscribed to particular otherservices.

[0023] Although the SOD service of the present invention can beimplemented and executed using a number of different types ofinformation distribution systems, the preferred embodiment is used incombination with the interactive information distribution systemhardware described in commonly assigned U.S. Pat. No. 6,253,375, issuedJun. 26, 2001, and hereby incorporated herein by reference in itsentirety. However, the specific hardware arrangement is consideredillustrative of the type of system with which the invention is used. Useof the invention within other information distribution system hardwarearrangements that facilitate distributed computing resources between theservice provider head end and the subscriber's terminal is consideredwithin the scope of the invention.

[0024]FIG. 1 depicts a high level block diagram of the illustrativeinformation distribution system 100 that incorporates the presentinvention. The system 100 contains service provider equipment 102, acommunications network in the form of a cable transport subsystem 104and subscriber equipment 106 _(n), where n is an integer greater than 0.The service provider equipment 102 contains an information server 108which is typically a parallel processing computer containing at leastone central processing unit 110 and associated memory 112. U.S. Pat. No.5,671,377, issued Sep. 23, 1993 and U.S. Pat. No. 5,579,527, issued Nov.26, 1996, which are hereby incorporated herein by reference, describe aserver that is capable of operating in the capacity of informationserver 108. The server 108 interacts with the data storage device 114(e.g., a disk drive array) that generally stores the subscriber content(e.g., video data) that will be recalled and transmitted to thesubscriber equipment 106. Additionally, within the service providerequipment 102 is a video session manager 122 that provides sessioncontrol of the information flowing to and from the server 108. The videosession manager 122 contains its own central processing unit (CPU) 124and associated memory 126 that provides functionality for the graphicaluser interfaces through which the consumer interacts with the system.The CPU 124 is part of a session control manager 125 that controls aplurality of modems 127 that facilitate communication with thesubscriber equipment. Other subsystems of the service provider equipmentinclude a network manager 142 and a back office subsystem 144. Thesesubsystems maintain certain databases of information that enable thesystem to accurately control system access, subscription packagedefinitions, and subscriber/consumer profile and billing. The networkmanager 142 is coupled to a customer management system (CMS) 150 withinthe cable operator equipment 152. As such, the network manager maintainsa database 154 containing specific customer subscription informationpertaining to a customer's type of service (e.g., basic cable, extendedbasic cable, and the like), level of service and premium channelsubscription information. This database is used to facilitate dependentsubscriptions and contingent services.

[0025] The information server 108 is coupled to the video sessionmanager 122 via data path 116, synchronization clock path 118, andcontrol path 120. The server 108 provides data streams that are destinedfor consumers on path 116 and a synchronization clock on path 118. Thespecific data streams are provided in response to requests forinformation (e.g., menu applets, video programs, and other contentmaterial) from the video session manager 122 on path 120. These datastreams are packetized and modulated onto a carrier that is compatiblewith the transmission requirements of the network 104.

[0026] The video session manager 122 accomplishes all of thetransmission interface requirements of the system 100 as well asprovides graphical user interface support. Specifically, the videosession manager 122 is coupled through the modems 127 to subscriberequipment via a forward information channel 132, a forward commandchannel 133 and a back channel 134. All three of these channels aresupported by the cable transport subsystem 104. The video sessionmanager 122 contains a modulator for modulating the server data streamsonto one or more carrier frequencies for transmission on the forwardinformation channel 132. Additionally, modems 127 within the videosession manager 122 send control information via the forward commandchannel and receive control information via the back channel. Moreover,a conventional cable television signal source 128 is optionally coupledto the forward information channel via a signal coupler 130. Inoperation, the video session manager 122 responds to requests from thesubscriber equipment 106 for interactive menus and data streams byrequesting the server 108 to provide such information, thencommunicating that information to the requesting subscriber equipment106. The video session manager 122, as discussed below, also ensuresthat the subscriber equipment 106 is authorized to receive the requestedinformation.

[0027] The cable transport subsystem 104 can be any one of a number ofconventional broad band communications networks that are available suchas a fiber optic network, a telephone network, existing cable televisionnetwork and the like. For example, if the network is a hybrid fiber-coaxnetwork, the transport technique used in both forward channels may bemodeled after the moving pictures expert group (MPEG) transport protocolfor the transmission of video data streams. In general, the transportmechanism for both the forward channels and transport information to thesubscriber equipment must be able to carry unidirectional, asynchronouspacketized data such as that defined in the MPEG video and audio signaltransmission protocol, and the like. There are a number of suchtransport protocols available.

[0028] The subscriber equipment 106 receives the requested data streamsfrom the forward information channel, demodulates the streams andprocesses them for display on the display device 140 (e.g., aconventional television). In addition, the terminal 136 accepts commandsfrom a remote control input device 138 or other input device tofacilitate consumer interaction with the system. These commands areformatted, compressed, modulated, and transmitted through the network104 to the video session manager 122. Typically, this transmission isaccomplished through the back channel 134. These commands are preferablytransmitted through the same network used to transmit information to thesubscriber equipment. However, the back channel coupling the subscriberequipment to the server may be a separate network, e.g., a forwardinformation channel through a television cable network and a backchannel through a telephone network. The telephone network could alsosupport the forward control channel. The video session manager 122interprets each command set from the terminal through the back channeland instructs the information server to perform certain functions toimplement the consumer/subscriber request.

[0029]FIG. 2 depicts a block diagram of the terminal 136 which containsa transceiver 200, a central processing unit (CPU) 212 and a displaydriver 222. Of course, the functionality of the terminal 136 can beembedded within a single consumer electronics product such as a receivercircuit within a television. As such, the description of a separateterminal should be considered illustrative of the type of subscriberequipment that may be used to implement the present invention.

[0030] Within the set top terminal 136, the CPU 212 is supported byrandom access memory (RAM) 220, read only memory (ROM) 218 and varioussupport circuits 216 such as clocks, power supply, and infrared receiverand the like. The transceiver 200 contains a diplexer 202, a backchannel transmitter 208, an information channel receiver 204, a commandchannel receiver 210, an information decoder 206, a conventionaltelevision signal receiver 224, and a multiplexer 226. The diplexer 202couples the three channels carried by a single cable within the networkto the transmitter and receivers of the terminal. Each receiver 204 and210 contains a tuner, amplifiers, filters, a demodulator and adepacketizer. As such, the receivers tune, downconvert, and depacketizethe signals from the cable network in a conventional manner. Theinformation channel receiver 204 contains a conventional QAM demodulatorsuch as a model BCM3115 manufactured by the Broadcom Corporation. Othersuch demodulators are well known in the communications art and could beused in this application. However, this particular QAM demodulator alsocontains a built in “out-of-band” QPSK demodulator for handling commandand control data carried by the forward command channel. As such, asingle integrated circuit demodulator processes consumer/subscriberrequested information (audio and video) as well as command data.

[0031] The decoder 206 processes the data packets carryingconsumer/subscriber requested information produced by the QAMdemodulator into useable signals for the end user display, e.g.,television, home studio, video recorder and the like. The decoder 206 iscoupled to a dynamic random access memory (DRAM) to facilitate decodingof the data packets and processing of command programs, as shall bediscussed below. The signals for display are conventionally processed bya display driver 222 to produce composite video as well as conventionaltelevision signals, e.g., modulated onto channel 3 or 4 using the NTSCstandard modulation.

[0032] The conventional cable signal receiver 224 contains a tuner andan analog (NTSC) demodulator. A multiplexer 226 couples the demodulatedanalog or decoded video signal to the display driver 222. Of course, theNTSC demodulator can be replaced with a PAL or SECAM standarddemodulator, as needed.

[0033] The demodulated QPSK signal provides command and controlinformation to the CPU 212 for generating certain graphics and controlinformation regions upon a television screen. The CPU is, for example, amodel 68302 processor manufactured by Motorola. This processor,operating in combination with the decoder 206 as well as a continuouslyavailable video signal from the information channel, producesscreen-displayed buttons, icons and graphical regions with which aconsumer interacts using the remote control. Without the video signal,the terminal 136 does not produce any display, i.e., the displays areactively generated in real-time as needed to facilitate certainnavigational and interface functions.

[0034] Specifically, a joy stick on the remote control 138 selectivelyhighlights certain predefined regions on the television screen. Toperform such highlighting, a reference region is always highlighted whena menu is first displayed. From that reference region, direction vectorsproduced by the joy stick are interpreted by the CPU 212 to highlight aregion lying in the direction in which the joy stick was moved. When adesired selectable icon is highlighted, the consumer depresses a“select” key on the remote that sends an infrared signal to an infraredreceiver (a support circuit 216). This receiver sends the select commandto the CPU 212 for interpretation. The selected region is generallyassociated with a function. If the function is a request for specificinformation or requires a change in the menu, the CPU 212 formats thecommand and sends it through the back channel transmitter 208 fortransmission to the video session manager 122. If the command is afunction that is handled locally such as volume control, the CPU 212implements the function within the terminal 136.

[0035] Since the session control commands are implemented by the videosession manager 122 and not the terminal 136 alone, the number ofavailable session control commands is infinite. Utilization of suchdistributed computing resources enables the most powerful processing tobe centrally located in the video session manager 122 and the CPU in theterminal 136 can be of relatively limited power. Consequently, all thesubscriber terminals 136 that are connected to a service provider headend 102 can rely on the computing power of the video session manager122. For example, the CPU in the video session manager 122 is a model68040 processor that is available from Motorola Inc. A particularhardware implementation of the video session manager is described indetail in commonly assigned U.S. Pat. No. 6,253,375, which is herebyincorporated by reference in its entirety.

[0036] Each command menu is implemented by executing an “applet”, asdescribed below. The applets control both information sessions, e.g.,the presentation of video to the television screen, and navigatorfunctions, e.g., the menus that facilitate selection of a video programas well as subscriber on demand services. As such, particular commandsinclude, but are not limited to, information or menu navigationcommands, movies start at beginning, movies start at the middle, play,stop, rewind, forward, pause and the like. These presentation andnavigation control commands are sent via a back channel transmitter 208using binary phase shift key (BPSK) modulation. Additionally, the CPU inthe subscriber terminal implements certain local commands such asincrement or decrement the volume, channel change and on/off.

[0037] The invention is implemented as one or more interrelated“applets” which, when taken together form the interactive graphical userinterface that facilitates the SOD service of the present invention. Theapplets are transmitted for the most part, to the terminal via theforward information channel. Certain information used by particularapplets is transmitted to the terminal via a data stream propagatedthrough the forward command channel. As such, the data stream carryingthe applet is demodulated, the applet extracted and the applet'sinformation decoded prior to execution that displays a menu on thedisplay device. The detailed process by which an applet is downloadedand used to produce a menu is disclosed in commonly assigned U.S. Pat.No. 6,208,355, which is hereby incorporated herein by reference in itsentirety.

[0038]FIGS. 3A, 3B and 3C together depict an overall flow diagram of anillustrative implementation of the SOD service 300 as executed on boththe video session manager CPU and the subscriber terminal CPU. FIGS. 3Aand 3B are divided into three columns, namely: a subscriber actioncolumn 302, a subscriber equipment process 304, and a service providerequipment process 306. FIGS. 4-9 depict various menu screens that a SODservice subscriber or a non-SOD service subscriber (i.e., a generalconsumer of cable services) would be presented with while eitheraccessing SOD services or becoming a new subscriber for SOD services.For the following description, it is assumed that the consumer isalready a subscriber of general cable system services (i.e., theconsumer has an account number) and now desires to subscribe toadditional SOD services or utilize previously subscribed SOD services.To provide a comprehensive understanding of the SOD services, thevarious menu screens of FIGS. 4-9 are referred to as the flow diagramspanning FIGS. 3A, 3B and 3C is described below.

[0039] The process 300 begins at step 308 and continues to step 310. Atstep 310, the terminal recalls a terminal identification number and aPIN from memory and sends the number to the service provider equipment.As described in commonly assigned U.S. Pat. No. 6,163,272, in order toprovide security and limit programming access, each terminal of theinteractive information distribution system is generally assigned aterminal identification (TID) number or code, each subscriber householdaccount has a defined master personal identification number (masterPIN), and each subscriber in a household may have a personalidentification number (subaccount PIN). The TID provides security toidentify whether a subscriber terminal is permitted access to the systemat all, while the master PIN and subaccount PIN define the level ofservice that a given subscriber is permitted to access. In addition tothe TID, a master PIN may be associated with a subset of subaccountseach having an associated PIN. The assignment and utilization of masterPIN and subaccount PINs is described in commonly assigned U.S. Pat. No.6,163,272, which is hereby incorporated herein by reference in itsentirety. In general, the terminal identification number and both themaster and the subaccount PINs are used in providing the SOD service ofthe present invention.

[0040] At step 312, the video session manager 122 validates the PIN andTID authorization by comparing the transmitted TID and PIN to a PIN andTID stored in the video session manager memory. If the transmitted TIDand PIN are not in the memory, the video session manager sends, at step314, a menu applet that creates a display to inform the subscriber thatthe PIN or TID is invalid. If the TID and PIN are found to be valid, atstep 316, the video session manager sends a menu applet to the terminalthat will permit access to additional system programming.

[0041] To facilitate selection of an SOD service, a menu is presented atstep 320 to the subscriber on their television screen. As illustrativelyshown in FIG. 4, the menu structure may be defined by a grid or list or,in the example shown, a pie-shaped menu 400. Various services may beselected by highlighting and selecting any one of the “pie” sections402, 404, 406, or 408. Whenever a menu selection is made, the systemdownloads an applet corresponding to that section and either launches anew menu that provides further options for the subscriber or displays aselected program (e.g., starts playing a movie).

[0042] To select SOD services, the user highlights section 408 that maybe, for example, a children's program SOD service known as “OnSet Kids”(OnSet is a trademark of DIVA Systems Corporation of Menlo Park,Calif.). In such a service, a user can subscribe to unlimited access toany of the children's programs offered under the subscription package“OnSet Kids”. More generally, the subscription packages may consist of acollection of programs (or a collection of subscription packages) havinga common point of interest, e.g., sports, cooking, travel, automotive,educational, children's programming, home improvement, soap operas,network prime time television broadcasts, music videos, and the like.Subscription packages are alternatively customized by a subscriber atthe time of subscription.

[0043] For the illustrative menu example of FIG. 4, the subscriber isassumed to have selected, at step 322, the SOD service of section 408that is associated with the children's programming subscription. Once asection is selected, the terminal sends, at step 324, an option requestcorresponding to the selected menu option to the session manager 122.

[0044] At step 326, the system determines whether theconsumer/subscriber has a subscription for the selected service and/orhas the base subscription or service for a dependent/contingent service.

[0045]FIG. 3D depicts the process used to determine subscriptionauthorization. At step 384, the process queries whether the subscriberis a subscriber of the selected SOD service. To determine suchsubscription service authorization, the account number of the subscriberis compared to a subscription account number database in the networkmanager. If the subscriber is authorized to access the selected service(the SOD service of option 408 in FIG. 4), the process proceeds to pointB of FIG. 3B. Alternatively, if authorization for the selected serviceis not found, the process proceeds to step 386. At step 386, the processqueries whether the selected SOD service is a dependent or contingentservice. If the query of step 386 is negatively answered, the processproceeds to point A in FIG. 3C wherein the subscriber is allowed tosubscribe to the Selected SOD service. However, if the selected serviceis a contingent or dependent service, the process proceeds to step 388.

[0046] At step 388, the account number of the subscriber is compared toinformation in the network manager database regarding the subscriber'scable and other services (e.g., type of cable service, level of cableservice, number of premium cable channels, the type of premium cablechannels, type of other SOD services and the like). If the subscriber isfound to be a current subscriber of the base service or subscription,the process proceeds to point A of FIG. 3C to enable the subscriber tosubscribe to the selected SOD service. However, if the subscriber is nota subscriber of the base service or subscription, then the processproceeds to point A of FIG. 3C to enable the subscriber to subscribe tothe base service or subscription. At step 328, the video session managersends an applet to the terminal to enable the terminal to produce acategory menu at step 330. FIG. 5 depicts an exemplary category display500 for a children's program subscription, e.g., OnSet Kids. Thedepicted menu 500 shows a list 502 of selectable categories. Eachcategory in the list 502 represents a particular class of programming,i.e., programming that is related in some way.

[0047] At step 332, the subscriber selects a category within thecategory menu and, at step 334, the terminal sends a category request tothe video session manager. After receiving a category selection in step336, the video session manager sends an applet for a title menu to theterminal. At step 338, the terminal decodes and executes the applet todisplay a title menu. FIG. 6 depicts an exemplary menu list 600 having alist of titles that are associated with the selected category, in thiscase, Sesame Street.

[0048] For some SOD services, category menus may not be used and theprocess would move directly from point B to step 336. For example, ifthe requested SOD service is a video-on-demand service that is relatedto a particular premium cable channel, once the system identifies thesubscriber as a subscriber to the underlying service, e.g., a premiumcable channel, then the subscriber is provided with the titles of themovies that are available on-demand from that premium channel. Thus, thetitle menu is sent in step 336.

[0049] When the subscriber selects a title in step 340, the titleselection, e.g., a program identification (PID), is sent to the videosession manager. After receiving a title selection, the video sessionmanager determines, at step 344, the title price. The price of theprogramming selected from the title menu is determined by the videosession manager sending a price request to the network manager. Thenetwork manager performs a search of its pricing database and returns aprice of either zero or non-zero. A non-zero price is returned, forexample, if the subscription is limited to a restricted time window orthe subscription is a dependent subscription that is not available tocustomers that do not meet a particular service level or type criteria.For example, the OnSet Kids children's programming subscription servicemay be limited to viewing from 6 A.M. to 6 P.M. and, the request isbeing made outside of that time window. As such, any request by asubscriber outside of the window is charged a nominal fee, i.e., thesubscriber is provided an “a la carte” menu as described below withrespect to step 354.

[0050] If the price that is returned to the video session manager iszero dollars (the query of step 346 is affirmatively answered), then thevideo session manager sends, at step 348, an applet for a display of atitle information screen. At step 350, the terminal displays a titleinformation screen indicating the viewing price is zero dollars and alsoprovides the subscriber with a start option so that the subscriber maycommence viewing of the program. FIG. 7 is an exemplary titleinformation screen 700 showing information about the program that wasselected as well as providing a start option as shown as button 702.Additionally, a preview clip may be executed and depicted for the userby selecting the icon 704.

[0051] If, however, the network manager returns a non-zero price to thevideo session manager, then the video session manager sends, at step352, an applet for a second type of title information screen. At step354, the terminal creates a screen informing the subscriber of thereason for the non-zero price and also presents the user with an “a lacarte” purchase option. The subscriber will then be able to purchase andview the a la carte selection or return to a previous menu.

[0052] If, at step 326 of FIG. 3A, the service provider equipmentdetermines that the consumer does not have an active subscription, e.g.,does not have a subscription to the selected subscription package or toan underlying service to enable a dependent or contingent service, theprocess proceeds along path A to step 358 of FIG. 3C. At step 358, thevideo session manager sends an applet for a subscription informationscreen. The subscription information screen applet is decoded andexecuted by the terminal at step 356 to create a subscriptioninformation screen. The subscription information screen describes thesubscription offering to the non-subscriber and then presents a sign-upscreen through which the user can interactively subscribe for theservice. Alternatively, the subscription information screen may onlyinform the subscriber that the SOD service that was requested is adependent or contingent service and that the cable system operator mustbe contacted to subscribe to the base service.

[0053]FIG. 8 depicts an exemplary screen 800 for interactivelyrequesting a subscription-on-demand service, i.e., offers the subscriberan option to purchase a subscription. If the customer is required topurchase a premium cable channel to facilitate a dependent service, thenthe screen would offer the customer an opportunity to subscribe to thepremium channel. If the subscriber declines (step 360) the subscriptionoffer, the terminal then sends, at step 362, a refusal signal to thesession manager. In response to the refusal, the process returns (step364) to point C prior to step 316 in FIG. 3A. If, however, a systemsubscriber elects to purchase a subscription, the terminal sends, atstep 366, an acceptance signal. In response to the acceptance signal, atstep 368, the session manager requests a master PIN as a confirmation ofthe subscriber's capability to make a subscription purchase. As such, aperson having only a subaccount PIN is not capable of subscribing to asubscription-on-demand service or a service that permits dependentservices. To facilitate the subscription confirmation, the sessionmanager sends an applet for a master PIN request screen. At step 370,the terminal decodes the applet and displays the master PIN requestscreen.

[0054]FIG. 9 depicts an exemplary master PIN confirmation entry screen900. The screen 900 contains a field 902 where the subscriber can entera master PIN. The master PIN is entered at step 372 and, at step 374,the master PIN is sent to the session manager. After the master PIN isreceived, at step 376, the video session manager verifies the master PINas valid. To verify the validity of the PIN, the video session managercompares the entered PIN to the PIN in its memory. If the master PIN isinvalid, the subscriber is given one or more further opportunities tocorrectly enter the master PIN, then the process proceeds to step 378where the process continues at point C prior to step 316 of FIG. 3A. Ifthe PIN is valid, the routine proceeds to step 380 where the videosession manager updates the subscription database stored in the networkmanager with the account information of the new subscriber to theselected subscription service. If the subscriber has selected a newservice or subscription, e.g., an additional premium cable channel, thesubscriber's information may also be sent to the cable operator'scustomer management system. After updating the subscription database,the routine updates, at step 382, the administrative system such thatthe interactive information distribution system's billing system isupdated with the new subscriber's account information. Once subscribed,the process proceeds from step 382 to step 328 of FIG. 3B where thesystem provides the new subscriber an opportunity to utilize the newlysubscribed service.

[0055] The present invention implements subscription-on-demand servicesand dependent services by having the computer resources needed for theservice to be distributed between the subscriber equipment and theservice provider equipment. To implement the service, the terminalneed'only decode and execute simple applets to produce variousinteractive displays and send simple information requests. The serviceprovider equipment performs the significant computing for menugeneration, security handling, and subscription processing. As such, theterminal can be relatively inexpensive, making the overall systemeconomically feasible.

[0056] The interactive structure of the inventive subscription-on-demandsystem enables flexible subscription packages to be created. Forexample, a hierarchical subscription package structure can be producedthat has various levels of access. The following is an illustrativeexample of a hierarchical package structure for sporting events:

[0057] SPORTS

[0058] FOOTBALL

[0059] COLLEGE

[0060] PRO

[0061] BASKETBALL

[0062] COLLEGE

[0063] MENS

[0064] WOMENS

[0065] PRO

[0066] MENS

[0067] WOMENS

[0068] GOLF

[0069] HOCKEY

[0070] and so on

[0071] Under this hierarchy, a consumer may subscribe to SPORTS andreceive access to all sports programming available for a predefinedprice. However, those that desire only to have access to, for example,men's professional basketball would subscribe only to that particularprogramming selection at a predefined price. Such a hierarchicalarrangement can be divided into any number of levels, e.g., specificteams, or grouped into various packages, e.g., all professional sports.Additionally, the invention can be expanded to enable consumers tocreate their own personal SOD service by selecting their favoriteprograms or program classes for grouping into an SOD package such that asingle price can be paid to access all the selected programming over apredefined period of time, e.g., a predefined price for accessing theselected programming for a month. As such, dynamically defined subsetsof content can be created as the personal SOD packages. The programmingis selected through manipulation of interactive menus (generated usingmenu applets as described above) and the program identification codes(PIDs) for the selected programming are stored in the subscriptiondatabase with the consumer's account number (and/or PIN or TID, ifneeded). As such, the subscriber can access their personal SOD serviceat any time and without further payment. At the end of the period, theservice would be renewable such that the subscriber would not have toreenter the selection at the end of each period.

[0072] Additionally, the use of dependent subscriptions also permits thesubscriptions to be bundled into fixed packages containing a pluralityof services, e.g., N services. As such, when a subscriber subscribes toa specified number of subscription services, e.g., M subscriptions, outof a total N services, the subscriber is provided the remaining servicesfor free (or at a discounted rate). The invention tracks thesubscriptions of each subscriber and when a certain number is obtainedin, for example, a particular category (e.g., children's programming)the remaining children's programming services are made available to thesubscriber for no extra cost or for a discounted fee. As such, thesystem performs as if the subscriber specifically subscribed to theadditional services even though they have not specifically done so. Tofacilitate the bundled service, the system updates the subscriberdatabase in the network manager as well as the customer managementsystem in the cable operator equipment to maintain a record of all theservices and subscriptions that any given subscriber presently uses.

[0073] Although various embodiments which incorporate the teachings ofthe present invention have been shown and described in detail hereinthose skilled in the arts can readily devise many other variedembodiments that still incorporate these teachings.

What is claimed is:
 1. A method for providing subscription-on-demandservices for video-on-demand programs within an interactive informationdistribution system comprising the steps of: associating a plurality ofvideo-on-demand programming packages as a programming bundle;identifying a number of video-on-demand programming packages within saidprogramming bundle that a subscriber has subscribed; when the numberexceeds a pre-specified number of programming packages, the subscriberis automatically subscribed to all the video-on-demand programmingpackages in said programming bundle.